package com.aterrizar;

import java.text.ParseException;
import java.util.Calendar;

public class Flexible extends Parseador {
	private Parseador[] formatosFecha;
	
	public Flexible()
	{
		this.formatosFecha = new Parseador[3];
		formatosFecha[0] = new ISO8601();
		formatosFecha[1] = new Latinoamericano();
		formatosFecha[2] = new Norteamericano();
	}
	
	@Override
	public Calendar formatear(String cadena) throws ParseException {
		for (Parseador formato : formatosFecha)
		{
			try
			{
				return formato.formatear(cadena);
			}
			catch (ParseException e)
			{
				continue;
			}
		}
		throw new ParseException("No se ha reconocido del formato de la fecha", 0);
	}
	
}
